Visualisierung von Verteilungen
Humboldt-Universität zu Berlin
Di. den 23.04.2024
Letzte Woche haben wir…
Was enthalten die Vektoren x und y?
Das Objekt x enthält 1, 2, 3
Das Objekt y enthält 6
Heute werden wir lernen…
ggplot erstelltAnzahl) der Reaktionszeiten und der Muttersprache der TeilnehmerIn Ihrem RProject-Ordner…
moodle
notes mit dem Namen 02-datenviz1.R Skript
tidyverselanguageRggthemespatchworkDatenrahmen sind eine Sammlung von Variablen, wobei
Datenrahmen sind genau wie Tabellenkalkulationen, aber rechteckig
Verschiedene Wörter für Datenrahmen:
tidyverse)unser erster Datensatz enthält Daten aus einer lexikalischen Entscheidungsaufgabe
Bei der LDT drücken die Teilnehmer eine Taste, um anzugeben, ob ein Wort ein echtes Wort oder ein Pseudowort ist.
lexdec DatensatzlanguageR ist ein Begleitpaket für das Lehrbuch Baayen (2008)
lexdec.lexdec-Datensatz enthält Daten für eine lexikalische Entscheidungsaufgabe im Englischen
lexdec-Variablendf_lexdec: Lexikalische Entscheidungslatenzen, die von 21 Probanden für 79 konkrete englische Substantive erhoben wurden, mit Variablen, die mit dem Subjekt oder dem Wort verknüpft sind.
| Variable | Beschreibung |
|---|---|
| Subject | ein Faktor für die Probanden |
| RT | ein numerischer Vektor für die Reaktionszeit in Millisekunden |
| Trial | ein numerischer Vektor für den Rang des Versuchs in der Versuchsliste |
| Sex | ein Faktor mit den Ausprägungen F (weiblich) und M (männlich) |
| NativeLanguage | ein Faktor mit den Niveaus English und Other, der zwischen englischen Muttersprachlern und Nicht-Muttersprachlern unterscheidet |
lanaugeR verfügbar, das wir bereits geladen haben
Subject RT Trial Sex NativeLanguage Correct PrevType PrevCorrect
1 A1 6.340359 23 F English correct word correct
2 A1 6.308098 27 F English correct nonword correct
3 A1 6.349139 29 F English correct nonword correct
4 A1 6.186209 30 F English correct word correct
5 A1 6.025866 32 F English correct nonword correct
6 A1 6.180017 33 F English correct word correct
df_lexdec, was soviel bedeutet wie “Datenrahmen lexikalische Entscheidung”.Aufgabe 1: ?lexdec
Beispiel 1
Um herauszufinden, wofür die anderen Variablen stehen, führen Sie ?lexdec in der Konsole aus.
ggplot2tidyverse ist eine Sammlung von Paketen, die das Aufräumen und die Visualisierung von Daten erleichtern
tidyverse laden, wird diese Sammlung von Paketen automatisch geladenggplot2-Paket ist ein tidyverse-Paket, das Plots in Schichten aufbautggplot2 SchichtenAbbildung 1: Example of layers in a ggplot figure
ggplot() ist wie eine leere Leinwandggplot()
ggplot() mit, wie unsere Variablen visuell dargestellt werden sollen
+ am Ende unserer Codezeile ein und verwenden in einer neuen Codezeile die Funktion aes(), um unsere Ästhetik zu definieren.RT) auf der x-Achse ab (der untere Teil der Grafik)
RT in die Funktion exp() ein, um RTs in Millisekunden zu erhalten (aus Gründen, die wir nicht diskutieren werden)ggplot() nicht gesagt, wie sie dargestellt werden sollenggplot2 beginnen die Geom-Funktionen mit geom_geom_bar()), Liniendiagramme Liniengeome (geom_line()), Punktdiagramme ein Punktgeom (geom_point()), usw.geom_histogram()Hinweis
Wir erhielten die folgende Meldung, als wir geom_point() einschlossen:
stat_bin()mitbins = 30. Wählen Sie einen besseren Wert mitbinwidth.
Dies sagt uns nur etwas über die Breite unserer Balken: jeder Balken repräsentiert einen Bereich möglicher Reaktionszeitwerte + bins = 30 bedeutet einfach, dass es 30 Balken gibt, wir können dies ändern und mehr oder weniger Balken haben, indem wir z.B. bins = 20 oder bins = 100 in geom_histogram() einfügen
ggplot(
data = df_lexdec,
mapping = aes(x = exp(RT))
) +
labs(title = "with geom_histogram(bins = 20)") +
geom_histogram(bins = 20) +
ggplot(
data = df_lexdec,
mapping = aes(x = exp(RT))
) +
labs(title = "with geom_histogram(bins = 100)") +
geom_histogram(bins = 100) +
plot_annotation(tag_levels = "A")aes(fill = NativeLanguage)
ggplot(
data = df_lexdec,
aes(x = exp(RT))
) +
labs(title = "No grouping") +
geom_histogram() +
ggplot(
data = df_lexdec,
aes(x = exp(RT), fill = NativeLanguage)
) +
labs(title = "Stacked") +
geom_histogram() +
ggplot(
data = df_lexdec,
aes(x = exp(RT), fill = NativeLanguage)
) +
labs(title = "Layered: position = \"identity\"") +
geom_histogram(position = "identity") +
plot_layout(guides = "collect") & theme(legend.position = 'bottom') alpha = 0.3 zu geom_histogram() hinzufügen.Aufgabe 2: Transparenz
Beispiel 2
Spielen Sie mit der Transparenz des Histogramms Geom. Wählen Sie den von Ihnen bevorzugten Alpha-Wert. Die Ausgabe sollte in etwa so aussehen:
alpha = 0.3
wir können unsere Achsen- und Legendenbeschriftungen verbessern und auch Titel hinzufügen, indem wir die Funktion labs() verwenden
Wir können auch die Funktion scale_fill_colorblind() aus dem Paket ggthemes verwenden.
Wir werden auch die Funktion theme_minimal() aus dem Paket ggplot2 verwenden; was bewirkt diese Funktion?
Versuchen Sie, Ihrem Diagramm Folgendes hinzuzufügen
# hinzu# histogram of reaction times by native language
ggplot(data = df_lexdec) +
aes(x = exp(RT), fill = NativeLanguage) + # set aesthetics
labs(title = "Reaction times by L1",
x = "Reaction times (ms)") +
geom_histogram(position = "identity", alpha = 0.3) +
scale_fill_colorblind() + # make fill colorblind friendly
theme_minimal() # set plot themefig1 oder xyz)fig_lexdec_rt, für “figure lexical decision task reaction times”.Aufgabe 3: Figur als Objekt speichern
Beispiel 3
fig_lexdec_rt.fig_lexdec_rt)NativeLanguagegeom_histogram() durch geom_bar()
position oder alpha)fig_lexdec_l1)Abbildung 10: Balkondiagramm
patchwork
+ um zwei Plots nebeneinander zu verbinden/, um sie übereinander darzustellen+/Anhang 2 auf der Website des Kurses.
Heute haben wir gelernt…
ggplot erstelltHergestellt mit R version 4.4.0 (2024-04-24) (Puppy Cup) und RStudioversion 2023.3.0.386 (Cherry Blossom).
R version 4.4.0 (2024-04-24)
Platform: aarch64-apple-darwin20
Running under: macOS Ventura 13.2.1
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
time zone: Europe/Berlin
tzcode source: internal
attached base packages:
[1] stats graphics grDevices datasets utils methods base
other attached packages:
[1] magick_2.8.3 kableExtra_1.4.0 knitr_1.46 patchwork_1.2.0
[5] ggthemes_5.1.0 languageR_1.5.0 lubridate_1.9.3 forcats_1.0.0
[9] stringr_1.5.1 dplyr_1.1.4 purrr_1.0.2 readr_2.1.5
[13] tidyr_1.3.1 tibble_3.2.1 ggplot2_3.5.1 tidyverse_2.0.0
loaded via a namespace (and not attached):
[1] utf8_1.2.4 generics_0.1.3 renv_1.0.7 xml2_1.3.6
[5] stringi_1.8.3 hms_1.1.3 digest_0.6.35 magrittr_2.0.3
[9] evaluate_0.23 grid_4.4.0 timechange_0.3.0 fastmap_1.1.1
[13] rprojroot_2.0.4 jsonlite_1.8.8 fansi_1.0.6 viridisLite_0.4.2
[17] scales_1.3.0 cli_3.6.2 rlang_1.1.3 munsell_0.5.1
[21] withr_3.0.0 yaml_2.3.8 tools_4.4.0 tzdb_0.4.0
[25] colorspace_2.1-0 here_1.0.1 pacman_0.5.1 vctrs_0.6.5
[29] R6_2.5.1 lifecycle_1.0.4 pkgconfig_2.0.3 pillar_1.9.0
[33] gtable_0.3.5 Rcpp_1.0.12 glue_1.7.0 systemfonts_1.0.6
[37] highr_0.10 xfun_0.43 tidyselect_1.2.1 rstudioapi_0.16.0
[41] farver_2.1.1 htmltools_0.5.8.1 rmarkdown_2.26 svglite_2.1.3
[45] labeling_0.4.3 compiler_4.4.0
Woche 2 - Datenvisualisierung 1